/*******************************************************************************
  * 文件：DevInfor.c
  * 作者：djy
  * 版本：v1.0.0
  * 日期：2020-11-27
  * 说明：设备信息
*******************************************************************************/
/* 头文件 *********************************************************************/
#include "DevInfor.h"

/* 宏定义 *********************************************************************/
/* 类型定义 *******************************************************************/
/* 变量定义 *******************************************************************/
//设备U+协议版本、SoftAP名称、typeID
static const char DevUPlusVer[] = "E++2.17";
static const char DevSoftAP[] = "U-OVSO";
static const U8   DevTypeID[] = {0x20,0x1c,0x10,0xc7,0x14,0x12,0x02,0x10,0x3e,
                                 0x01,0x4a,0x63,0x29,0x66,0xbc,0x00,0x00,0x00,
                                 0x26,0x29,0xbf,0xc7,0x5d,0x28,0x36,0x1d,0x6e,
                                 0x00,0x62,0x63,0xc5,0x40};

volatile DevInfor_ts sDevInfor;
/* 函数声明 *******************************************************************/
/* 函数定义 *******************************************************************/

/*******************************************************************************
  * 函数名：Dev_GetUPlusVer
  * 功  能：获取U+协议版本
  * 参  数：协议版本字符串存储目的地址
  * 返回值:"E++2.17"字符串长度
  * 说  明：E++2.17
*******************************************************************************/
U8  Dev_GetUPlusVer(void *Ver)
{
    strcpy(Ver, DevUPlusVer);
    return strlen(DevUPlusVer);
}

/*******************************************************************************
  * 函数名：Dev_GetSoftAP
  * 功  能：获取SoftAP
  * 参  数："U-CU"字符串存储目的地址
  * 返回值:"U-CU"字符串长度
  * 说  明："U-CU"
*******************************************************************************/
U8 Dev_GetSoftAP(void *SoftAP)
{
    strcpy(SoftAP, DevSoftAP);
    return strlen(DevSoftAP);
}

/*******************************************************************************
  * 函数名：Dev_GetSoftAP
  * 功  能：获取TypeID
  * 参  数：TypeID存储目的地址
  * 返回值:TypeID长度
  * 说  明：TypeID
*******************************************************************************/
U8 Dev_GetTypeID(void *TypeID)
{
    memcpy(TypeID, DevTypeID, sizeof(DevTypeID));
    return sizeof(DevTypeID);
}


/*******************************************************************************
  * 函数名：Dev_SetPowerBoardVer
  * 功  能：保存电源板软件版本号
  * 参  数：U8 u8MajorVer：主版本号
            U8 u8MinorVer：次版本号
            U8 u8RevisionVer：修订版本号
  * 返回值：无
  * 说  明：无
*******************************************************************************/
void Dev_SetPowerBoardVer(U8 u8MajorVer,U8 u8MinorVer,U8 u8RevisionVer)
{
    sDevInfor.u8MajorVer = u8MajorVer;
    sDevInfor.u8MinorVer = u8MinorVer;
    sDevInfor.u8RevisionVer = u8RevisionVer;
}
  
/*******************************************************************************
  * 函数名：Dev_GetPowerBoardVer
  * 功  能：获取电源板软件版本号
  * 参  数：U8 *pu8MajorVer：主版本号存储地址
            U8 *pu8MinorVer：次版本号存储地址
            U8 *pu8RevisionVer：修订版本号存储地址
  * 返回值：无
  * 说  明：无
*******************************************************************************/
void Dev_GetPowerBoardVer(U8 *pu8MajorVer,U8 *pu8MinorVer,U8 *pu8RevisionVer)
{
    *pu8MajorVer = sDevInfor.u8MajorVer;
    *pu8MinorVer = sDevInfor.u8MinorVer;
    *pu8RevisionVer = sDevInfor.u8RevisionVer;
}

// 设置电源板软件日期
void Dev_SetPowerBoardData(U16 u16Year,U8 u8Month,U8 u8Day)
{
    sDevInfor.u16Year = u16Year;
    sDevInfor.u8Month = u8Month;
    sDevInfor.u8Day = u8Day;
}
              
// 获取电源板软件日期
void Dev_GetPowerBoardData(U16 *pu16Year,U8 *pu8Month,U8 *pu8Day)            
{
    *pu16Year = sDevInfor.u16Year;
    *pu8Month = sDevInfor.u8Month;
    *pu8Day = sDevInfor.u8Day;
}

// 设置按键值
void Dev_SetKeyValue(U32 u32KeyValue)
{
    sDevInfor.u32KeyValue = u32KeyValue;
}  

// 获取按键值
U32 Dev_GetKeyValue(void)
{
    return sDevInfor.u32KeyValue;
}

/*******************************************************************************
  * 函数名：Dev_Init
  * 功  能：设备信息初始化
  * 参  数：无
  * 返回值：无
  * 说  明：无
*******************************************************************************/
void DevInfor_Init(void)
{
    memset((void*)&sDevInfor,0x00,sizeof(DevInfor_ts));
}

/***************************** 文件结束 ***************************************/

